Sequencing electronic files

ABSTRACT

Systems and methods for sequencing electronic files include generating a first file sequence and one or more alternative file sequences. An alternative file sequence may be generated based in part on a characteristic of a file in the first sequence. The first and alternative sequences may be used in an electronic slideshow that allows a user to switch between file sequences. In some implementations, which alternative file sequences are generated may be determined based in part on a prediction of characteristics that may be of interest to a user.

BACKGROUND

The present disclosure relates generally to sequencing electronic files.The present disclosure more specifically relates to generating multiplesequences of files based on the characteristics of a file, such as animage being displayed in a slideshow.

As users increasingly use electronic devices in their daily lives, theamount of data generated by users is also increasing. For example, manymodern portable electronic devices (cellular telephones, music players,tablet computers, etc.) now include integrated camera functions. As aresult, the number of digital images owned by a user may be much greaterthan in years past. In some systems, a user may organize their imagesinto albums. For example, a user may create a folder in an operatingsystem to store the images that they took during a vacation to Bermuda.In some systems, a user may create a slideshow to view the images in analbum by defining a sequence in which the images are to be presented.

SUMMARY

Implementations of the systems and methods for sequencing electronicfiles are described herein. One implementation is a computerized methodfor sequencing electronic images. The method includes receiving, at aprocessing circuit, a request to view a slideshow of digital imageshaving a characteristic specified by a user. The method also includesgenerating, by the processing circuit, a first sequence of images havingthe specified characteristic based in part on whether a user profile ofthe user has access to the images. The method further includesselecting, by the processing circuit, a focus image for the slideshowfrom the first sequence of images. The method additionally includesdetermining, by the processing circuit, a second characteristic of thefocus image. The method further includes generating, by the processingcircuit, a second sequence of images, the second sequence including thefocus image and one or more images having the second characteristic ofthe focus image. The method yet also includes providing webpage data toan electronic device, the webpage data being configured to display therequested slideshow with the focus image. The slideshow is configured todisplay the focus image in a larger area of the slideshow than otherdisplayed images, the slideshow also including a first graphical userinterface input to change the displayed focus image to another image inthe first sequence and a second graphical user interface input to changethe displayed focus image to another image in the second sequence.

Another implementation is a system for sequencing electronic files. Thesystem includes a processing circuit operable to generate a firstsequence of files for a sequential display of the files, the firstsequence of files including a focus file. The processing circuit is alsooperable to determine a characteristic of the focus file in the firstsequence and to generate a second sequence of files having thecharacteristic. The processing circuit is further operable to providedisplay data to an electronic display, the display data being configuredto display at least a portion of the contents of the focus file in thefirst sequence, an input configured to cause the display of at least aportion of the contents of another file in the first sequence, and aninput configured to cause the display of at least a portion of thecontents of another file in the second sequence.

A further implementation is a computerized method for sequencingelectronic files. The method includes generating, by a processingcircuit, a first sequence of files for a sequential display of thefiles, the first sequence of files including a focus file. The methodalso includes determining, by the processing circuit, a characteristicof the focus file in the first sequence. The method further includesgenerating a second sequence of files having the characteristic. Themethod additionally includes providing display data to an electronicdisplay, the display data being configured to display at least a portionof the contents of the focus file in the first sequence, an inputconfigured to cause the display of at least a portion of the contents ofanother file in the first sequence, and an input configured to cause thedisplay at least a portion of the contents of another file in the secondsequence.

These implementations are mentioned not to limit or define the scope ofthis disclosure, but to provide examples of implementations to aid inthe understanding thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,aspects, and advantages of the disclosure will become apparent from thedescription, the drawings, and the claims, in which:

FIG. 1 is an illustration of a digital slideshow, according to oneimplementation;

FIG. 2 is an example process for sequencing electronic files;

FIG. 3 is an illustration of image sequences being generated; and

FIG. 4 is a block diagram of an exemplary processing circuit configuredto determine a sequence in which to present electronic files.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

According to some aspects of the present disclosure, electronic filesmay be presented on an electronic display across multiple sequences,allowing a user to seamlessly switch between sequences. In someimplementations, the sequences may be used as part of a slideshow thatdisplays electronic files in the sequences. For example, a user may usea slideshow to view an image of a boat in a first sequence of imagestaken during their recent trip to Bermuda. Based on the characteristicsof the image (e.g., metadata associated with the image, the content ofthe image, etc.), other sequences of images may also be generated. Forexample, a second sequence of images may be generated devoted to imagesof boats and presented as part of the slideshow. The user may then optto continue viewing images in the first sequence (e.g., images fromtheir trip to Bermuda) or images in the second sequence (e.g., images ofboats).

In various implementations, any number of different file sequences maybe presented to a user via a graphical user interface (GUI), based onthe characteristics of a file in the current sequence. For example, auser may be presented with one, two, three, or more alternative filesequences. In some implementations, the number of alternative sequencesmay be preset by the user via a stored user preference. Similarly, whichalternative sequences are generated and presented may be based on a userpreference or may be automatically selected by the system withoutreceiving input from the user. For example, the user may specify anorder of preference for alternative sequences, such as “wedding photos,”“puppies,” and “sunsets.” In another example, the system may selectalternative sequences based on characteristics predicted by the systemto be of interest to the user (e.g., based on previous sequencesselected by the user, based on the user's social networking groups,based on user profile data about the user, etc.).

Referring to FIG. 1, an illustration of a digital slideshow 102 isshown, according to some implementations. Slideshow 102 may be providedon one or more electronic displays, such as display 100. Display 100 maybe any form of electronic display configured to provide visual data to auser. For example, display 100 may be a liquid crystal display (LCD),light emitting diode (LED) display, plasma display panel (PDP), cathoderay tube (CRT) display, electronic paper, a combination thereof, or anyother form of display configured to receive display data and to visuallypresent data to a user. Display 100 may be located within the housing ofthe device that provides display data to display 100 or may be locatedexternally, according to various implementations. For example, display100 may be a display integrated into an electronic device (e.g., adisplay of a laptop computer, a tablet computer, a cellular telephone, aportable digital assistant, a smart television set, a camera, etc.) ormay be a stand-alone display (e.g., a computer monitor, a television,etc.).

The display data that causes slideshow 102 to be displayed by display100 may be provided by one or more processors that execute instructionsstored in one or more electronic memories (i.e., provided by aprocessing circuit). For example, slideshow 102 may be part of aslideshow application. In another example, slideshow 102 may be part ofa webpage. That is, slideshow 102 may be executed within a web browserapplication. In various implementations, some or all of the datapresented as part of slideshow 102 may be stored locally in a memory ormay be received via a network from a remote device. For example, some ofthe images presented as part of slideshow 102 may be stored locally inthe memory of a mobile telephone, while other images may be receivedfrom a server via the Internet (e.g., from a server of a socialnetworking system, from an image hosting service, etc.).

One or more focus images may be displayed as part of slideshow 102. Ingeneral, a focus image may be the current image in a sequence of imagesbeing displayed in slideshow 102. In one implementation, images that arenot focus images may be displayed as thumbnails in slideshow 102. Asshown, an image 104 may be the focus image for a sequence 106 of images.In one example, sequence 106 may correspond to all images taken by aparticular camera and sorted in chronological order, i.e., a “camerasequence.” Sequence 106 may include any number of images ordered priorto, or after, that of image 104 in sequence 106. For example, image 104may be preceded by image 108 in sequence 106 (e.g., image 108 wascaptured prior to that of image 104). Similarly, image 104 may befollowed by image 110 in sequence 106 (e.g., image 110 was takendirectly after that of image 104). Sequence 106 may be specified by auser or may be automatically generated by the system without input froma user. For example, the user may specify that they wish to view allimages captured by a camera in chronological order. In another example,slideshow 102 may default to show all images in chronological order.

According to various implementations, one or more alternative orsupplemental image sequences may be presented as part of slideshow 102based on the characteristics of image 104. For example, slideshow 102may include three alternative sequences, in addition to that of sequence106: a sequence based on the topic, “orchids,” a sequence based onimages located within a “wedding album,” and a sequence based on the“title” of an image. An alternative image sequence corresponds to a setof images that differs from those in the primary sequence. In somecases, the alternative image sequence may include the one or more focusimages, allowing a user to pivot between image sequences related todifferent image characteristics. For example, image 104 may be part ofsequence 106 that orders images from a camera chronologically. However,image 104 may also be part of a second sequence devoted to the topic of“orchids,” since image 104 contains an image of an orchid (e.g., image104 may be preceded by an image 112 of an orchid and followed by animage 114 of an orchid in the sequence). Image 104 may also be part of athird sequence of images flagged as part of a “wedding album” (e.g.,image 104 may be preceded by an image 116 and followed by an image 118),since image 104 was taken at a wedding. In an exemplary fourth sequence,image 104 may be preceded by an image 120 and followed by an image 122based on the titles of the images or keywords in the metadata of theimages. For example, if image 104 is titled, “White Orchid,” it may bepreceded by image 120, titled “White Nectarines,” and followed by image122, titled “White Peacock.”

Alternative image sequences allow a user to seamlessly transition fromone set of images to another. In contrast to a traditional slideshowwhere the order in which images are presented is fixed, slideshow 102allows the order of presentation to be dynamic. In other words, a usermay switch from one image sequence to another while viewing imageswithin slideshow 102.

According to various implementations, slideshow 102 may be associatedwith a user profile. Such implementations allow for greater control overslideshow 102, such as how slideshow 102 is configured or whatinformation is displayed as part of slideshow 102. In some cases, a usermay log into their profile while starting slideshow 102. In anothercase, the user may be automatically logged into their profile based onstored credentials (e.g., a stored user name and password) or based on adevice ID. For example, the user may be automatically logged into theirprofile on a remote server based on the device ID of their mobiletelephone.

In cases in which a user profile is utilized, various configurations maybe associated with the user profile that control how slideshow 102 ispresented. In one implementation, the user profile may have associateduser preferences. For example, a user may specify which image sequencesare displayed via slideshow 102 (e.g., the user may have specified apreference for images of orchids). In some implementations, whichsequences have been selected by the user in the past may be associatedwith their profile and used to determine which alternative sequences arepresented via slideshow 102. For example, if the user of slideshow 102had previously selected sequences devoted to “orchids,” slideshow 102may include such a sequence based on image 104.

In some implementations, a user profile may be used to gain access tothe images displayed by slideshow 102. In one example, a user may createone or more photo albums and slideshow 102 may be used to review theimages (e.g., within an album or across multiple albums owned by theuser). In another example, some or all of the images displayed byslideshow 102 may be owned by a different user that has granted accessto the profile of the user viewing slideshow 102.

According to various implementations, slideshow 102 may include anynumber of different GUI effects. In some implementations, a focus imagemay be presented as part of a lightbox effect that dims the backgroundbehind the focus image, such as image 104. In one implementation,slideshow 102 may be configured to utilize a hover-over effect (e.g., byperforming an action in response to a cursor being positioned above acertain area of slideshow 102). For example, positioning a cursor over aprevious or subsequent image in a sequence (e.g., over images 108, 110,112, 114, 116, 118, 120, or 122) may cause more information about thesequence to be displayed via slideshow 102. In one implementation, thecharacteristic used to generate the sequence may be displayed. Forexample, positioning a cursor over image 114 may cause the topic,“orchids” to be displayed. In one implementation, additional images inthe sequence may be displayed via a hover-over event. For example,positioning a cursor over image 110 may cause additional images insequence 106 to be displayed on a portion of slideshow 102 (e.g., on thebottom of slideshow 102 as shown in FIG. 1, on the top of slideshow 102,etc.).

Selection of a previous or subsequent image in a sequence via slideshow102 may cause the selected image to be displayed as the focus image. Forexample, selection of image 122 may cause image 104 to be replaced ondisplay 100 with image 122. In addition, selection of a previous orsubsequent image in a sequence may cause one or more other sequences tobe generated, based on the characteristics of the selected image. Forexample, selection of image 122 may cause an alternative image sequencerelated to the topic of “birds” to be generated based on image 122showing a peacock. In such a case, previous and/or subsequent images inthe “birds” sequence may replace images 112 and 114 on slideshow 102.

In some implementations, multiple sequences may be selected at the sametime. For example, a touchscreen display may allow the selection ofimages 114 and 118 at the same time. Selection of multiple sequences maycause a superset of images to be generated (e.g., containing the filesof both sequences) or may cause a sequence of images having bothcharacteristics to be generated. In one implementation, the sequencethat is generated from selecting multiple sequences may be displayed onslideshow 102 (e.g., in the place of sequence 106 or in another area ondisplay 100).

While slideshow 102 is shown in FIG. 1 with reference to digital images,it is to be appreciated that any number of different types of electronicfiles may be presented via slideshow 102. Non-limiting examples ofelectronic files that may be displayed via slideshow 102 include textfiles, spreadsheets, movie files, music files, or a combination ofdifferent types of files. For example, a spreadsheet located in a user's“home finance” collection may be displayed via slideshow 102. In such acase, possible sequences of files include other files in the user'scollection, other files about home finance, files ordered by lastmodification time, or shared documents among a set of collaborators.

FIG. 2 is an example process 200 for sequencing electronic files.Process 200 may be implemented by a user electronic device or by aserver, according to various implementations. For example, process 200may be implemented by a user's home computer or may be implemented by aweb server that provides a slideshow as part of a webpage to the homecomputer. In some implementations, process 200 may be implemented by acombination of devices.

Process 200 includes generating a first sequence of files for aslideshow (block 202). In one implementation, a sequence of files may begenerated based on one or more criteria selected by a user. A selectedcriterion used to generate the first sequence may be any characteristicof an electronic document. For example, the name of the file, the sizeof the file, when the file was created, when the file was modified,and/or the owner of the file may be used to generate a sequence. In someimplementations, additional information may be associated with a file,such as metadata or data stored as part of the file's format. Forexample, the exchangeable image file format (Exif) may include date andtime information for an image, camera settings used to capture the image(e.g., the make and model of the camera, the shutter speed, focallength, ISO speed, metering mode, orientation, etc.), information aboutwhere the image was captured, or other information about the image. Insome implementations, the additional information may be associated witha social networking action (e.g., comments, ratings, suggestions, etc.).For example, a user may comment about an image, “Wow. There are somebeautiful flowers at the Botanical Garden!” In such a case, the topics“flowers” and “Botanical Garden” may be extracted from the comment andassociated as a characteristic of the image. In some implementations,the criteria selected by the user may be stored as a user preference tocontrol which sequence is first presented by the slideshow.

In some implementations, the first sequence may be generatedautomatically without input from the user. In one case, the firstsequence may be generated automatically based on a characteristic of afile already presented via the slideshow. For example, the firstsequence of process 200 may be an alternative sequence presented in theslideshow based on a characteristic of a document of focus. In anothercase, the first sequence may be generated automatically based on otherinformation associated with a user profile (e.g., the user'sdemographics, social connections, Internet search history, etc.). Forexample, if the user's profile belongs to a social networking groupdevoted to quilting, files related to the topic of “quilting” may beautomatically included in the generated sequence of files.

In some implementations, a characteristic of a file may include thecontent of the file itself. For example, a text file of an article aboutbaseball may be parsed to associate the topic of “baseball” with thefile. In another example, image recognition may be used to identify aperson, object, or location in an image. For example, persons A, B, andC may be identified in an image. In such a case, person A, B, and/or Cmay be used as a characteristic to generate sequences. For example, asequence may include other images that also show person A. In a furtherexample, a term frequency—inverse document frequency (TF-IDF) weight maybe used to determine topics present in text files, spreadsheets, orother documents containing text.

In further implementations, the first sequence for the slideshow may bewholly defined by the user. For example, a user may manually specify acustom order in which files are to appear. Files in a custom sequencemay or may not share characteristics. For example, a user may like fiveunrelated images and order the images to generate a first sequence for aslideshow. In another example, some or all of the images may sharecommon characteristics, such as where the images were taken.

In some implementations, a sequence may be linear, i.e., one file has noprevious file in the sequence and another file has no subsequent file inthe sequence. In other implementations, the sequence may be continuous.For example, a sequence that includes files A, B, C may transition fromfiles A→B→C→A or vice-versa.

Process 200 includes determining a characteristic of a file in the firstsequence (block 204). In some implementations, the file in the sequencemay correspond to a file being focused on by a slideshow (e.g.,displayed in larger proportion than that of other files, centered on thedisplay screen or window, etc.). For example, characteristics of image104 shown in FIG. 1 may be determined. In some implementations, thecharacteristic may be determined for another file in the first sequence.The characteristic may be any data in the file (e.g., the content of thefile) or associated with the file (e.g., metadata, data in a socialnetworking system, etc.), in various implementations.

Process 200 includes identifying files sharing the determinedcharacteristic (block 206). Files sharing the determined characteristicmay be stored with the file in the sequence or may be stored in aseparate location. For example, the identified files may be part of thesame album owned by a particular user, part of differing albums owned bythe same user, or part of albums owned by different users. In somecases, the identified files may be stored in different devices (e.g.,one file is stored in a local device and another file is store by aremote device). In some implementations, the files may be of differingtypes. For example, one file in the sequence may be an image of apenguin. In such a case, a text file containing a short story about theexploits of a penguin may be identified as also being devoted to thetopic of penguins.

Process 200 includes generating a new sequence containing some or all ofthe identified files sharing the characteristic (block 208). In someimplementations, the slideshow may limit the number of files in a givensequence (e.g., based on a user preference, a hardcoded limit in theslideshow, etc.). For example, the slideshow may identify seventy filesthat share the characteristic, but only use fifty of the identifiedfiles to generate a new sequence. According to various implementations,the order in which files appear in the sequence may be based on theorder in which the files were identified, the relationship between theidentified file and the file in the first sequence (e.g., located in thesame folder, created around the same time, etc.), how strongly thecharacteristic applies to the file, etc. For example, an article that isentirely devoted to the topic of penguins may have the characteristicmore strongly than that of an article that briefly mentions penguins. Inanother example, an image in the same folder or album as that of thefile in first sequence may receive a higher priority in the generatedsequence than that of a file shared by another user.

In some implementations, the file in the first sequence may be includedin the new sequence. In such a case, the position of the file in the newsequence may vary, depending on whether the sequence is linear orcontinuous. If the sequence is continuous, for example, the files may beordered in both the preceding and subsequent directions from the file ofthe first sequence (e.g., the images immediately preceding andsubsequent to the focus image may be the two images that most stronglymatch the characteristic, the images are the most related to the focusimage, etc.). If the sequence is linear, the file from the firstsequence may be positioned anywhere in the new sequence (e.g., at thestart of the new sequence, at the end of the new sequence, at the medianposition in the new sequence, etc.).

Process 200 may optionally include determining whether a sequence limithas been reached (block 210). In some implementations, multiplealternative sequences may be generated based on an image in the firstsequence. For example, a file in the first sequence may be an image of“John Doe” standing in front of the Eiffel Tower and taken on Jul. 4,2001. In such a case, possible alternative sequences include images ofJohn Doe, images of France, and images taken around Jul. 4, 2011. Thenumber of alternative sequences generated in process 200 may be based ona sequence limit specified in a user preference or hardcoded, in variousimplementations. For example, three alternative sequences may begenerated, even though fifteen possible sequences may be generated(e.g., the file in the first sequence has fifteen identifiablecharacteristics that may be used to generate alternative sequences).

In some implementations, which characteristics are used to generatealternative sequences may be based on a user preference or may beautomatically selected without further input from the user. For example,the user may specify an order of preference for which types ofalternative sequences are generated first for the slideshow. In oneimplementation, characteristics that may be of interest to a user may bedetermined and used to generate the alternative sequences. For example,a user may often select to view sequences that contain images offlowers, but never select to view sequences that contain images ofclowns. In such a case, the topical characteristic of “flowers” mayreceive a higher priority than that of “clowns.” In other words, if thefile in the first sequence is related to the topic of flowers, asequence of files related to flowers may be generated before that ofclowns.

If a sequence limit has not yet been reached, other characteristics maybe determined and used to generate additional sequences (e.g., byrepeating the processing of blocks 204, 206, 208). For example, if thesequence limit is four, four characteristics of the file in the firstsequence may be determined and used to generate four alternativesequences. In some implementations, the processing of blocks 204, 206,208 may be combined. In one example, all characteristics for the file inthe first sequence may be determined at the same time, ordered, and usedto generate new sequences up to the sequence limit.

Process 200 includes providing a slideshow with the file sequences(block 212). The slideshow may be provided to an electronic display orto a device having an electronic display, in various implementations. Insome cases, the file sequences may be determined by a server andprovided to client device operated by a user. For example, the servermay provide the slideshow with the sequences as part of a webpage to theclient device. In another example, the sequences and/or the files of thesequences may be provided to the client device (e.g., the slideshow maybe an application executed locally that receives the determinedsequences from the server). In some cases, the sequences may bedetermined by the same device that executes the slideshow.

FIG. 3 is an illustration of image sequences being generated, accordingto one example. A first image sequence 302 may include any number ofimages, including image 304. Image 304 is preceded in image sequence 302by image 306 and followed by image 308. In some implementations, image304 may be a focus image in a slideshow (e.g., the slideshow emphasizesimage 304 on the display and allows a user to navigate to images 306,308 as the next focus image).

Image sequence 302 may be generated using any number of criteria toselect and order the images. In one implementation, the images in imagesequence 302 may be located in the same memory location or photo album.For example, image sequence 302 may contain images that are in a photoalbum of a user devoted to the user's latest vacation. In someimplementations, the images in image sequence 302 may be selected basedon one or more other characteristics of the images (e.g., metadataassociated with the images, the content of the images, etc.). Forexample, the images in image sequence 302 may be selected based on theimages being taken by the same camera. The number of images in imagesequence 302 may be limited to a certain number of images, in somecases. For example, image sequence 302 may contain the first fiftyimages that match the selection criteria. In another example, imagesequence 302 may include those images that most closely match thecriteria. For example, if the selection criteria is a specific creationdate or time, image sequence 302 may contain those images that weretaken closest temporally to the specified date or time.

Image sequence 302 may be sequenced based on the order in which theimages are identified or may be ordered based on how strongly the imagesmatch the selection criteria. For example, image sequence 302 maycontain the first fifty image files found in a given folder. In anotherexample, image sequence 302 may be ordered based on how well the imagesmatch the topic “sunny days.” In some implementations, the first focusimage in a slideshow may be selected based on how well the image matchesthe selection criteria. For example, image 304 of image sequence 302 maybe selected as the first focus image for a slide show because it wastaken closest to a specified date or time. In some implementations, theordering of a sequence may be made relative to the file that mostclosely matches the selection criteria. For example, image 304 may bethe image that most closely matches that of the selection criteria,followed by images 306, 308 (e.g., the most relevant images may bepositioned in image sequence 302 in alternating positions before andafter the focus image).

In some implementations, the criteria used to generate image sequence302 may be specified by a user. For example, a user may manually specifythat image sequence 302 is to contain images relating to a certainevent, such as a friend's wedding. The user may specify the criteriawhen the slideshow is running or may save the criteria as a userpreference. For example, image sequence 302 may be automaticallygenerated (e.g., without further input from the user) based on selectioncriteria stored as a user preference. In some implementations, imagesequence 302 may be generated without the user specifying the selectioncriteria for the sequence. For example, the sequence may beautomatically generated based on which image sequences were previouslyselected by the user, based on criteria from the user's socialnetworking profile (e.g., ratings by the user, comments by the user,groups to which the user belongs, etc.), or a user's Internet searchrequests. In some implementations, the images in image sequence 302and/or their ordering may be manually specified by a user. For example,a user (e.g., a user viewing the slideshow, a user that owns the images,etc.) may specify that images 304, 306, 308 are to be included in imagesequence 302 and their ordering in image sequence 302.

Characteristics of image 304 in image sequence 302 may be used togenerate alternative image sequences, such as image sequences 318, 324,330. The characteristics of an image may include the location of theimage, the content of the image, and/or metadata associated with theimage. For example, image 304 of image sequence 302 may havecharacteristics 310. Characteristics 310 may include any number ofcharacteristics of image 304, such as characteristics 312, 314, 316.

In one example, characteristic 312 may relate to the content of image304 (e.g., that image 304 contains an image of a cowboy). In someimplementations, the content of an image may be determined using imagerecognition. For example, image 304 may be compared to other images ofcowboys to determine that image 304 also has an image of a cowboy. Insome implementations, the content of image 304 may be user-specified.For example, a user may tag image 304 as including an image of a cowboy.In another example, the content of image 304 may be determined based inpart on a comment about image 304. For example, a user of a socialnetworking system may comment on image 304, “Wow. Great picture of acowboy!” Such a comment may be analyzed to determine that image 304contains an image of a cowboy.

In another example, characteristic 314 may relate to the physicallocation at which image 304 was taken (e.g., that image 304 was taken inSan Antonio, Tex.). The location at which an image was taken may beuser-specified or may be associated with the image without user input.For example, the device capturing image 304 may employ a locationdetermining mechanism, such as cellular triangulation, a globalpositioning system, or the like, to associate location information asmetadata with image 304. In another example, the location may bedetermined based on a user-specified tag, a comment about image 304 in asocial networking system, the album or folder in which image 304 islocated (e.g., an album titled “Pics from San Antonio”), or inferredbased on other images (e.g., image 304 was taken one minute prior toimage 304 and has metadata specifying that image 304 was taken in SanAntonio, Tex.).

In a further example, characteristic 316 may relate to a timestampcorresponding to when image 304 was taken (e.g., that image 304 wascaptured on Jun. 4, 2014). In one implementation, the timestamp may bestored automatically (e.g., without input from a user). For example, thedevice that captures image 304 may store a timestamp as metadatacorresponding to when image 304 was captured. Timestamp information mayinclude date information, time information, or a combination thereof.

Characteristic 312 may be used to generate an alternative image sequence318. For example, image sequence 318 may contain other images of cowboysbased in part on image 304 containing an image of a cowboy. In someimplementations, image 304 may be included in image sequence 318. Insome cases, image 304 may be the focus image in the slideshow. Similarto image sequence 302, the images in image sequence 318 may be selectedand/or ordered based on how well an image matches characteristic 312, inone implementation. For example, images 320 and 322 may precede andfollow image 304 based on how well they match the topic of cowboys.

Similar to image sequence 318, image sequences 324, 330 may be generatedbased in part on characteristics 314, 316, respectively. For example,image 304 in image sequence 324 may be preceded and followed by otherimages related to the topic of San Antonio (e.g., images 326, 328).Image 304 in image sequence 324 may be preceded and followed by otherimages also captured on Jun. 4, 2014 (e.g., images 332, 334).

According to various implementations, alternative image sequences may beused in a slideshow to allow a user to navigate from a focus image inone sequence to another image in a related sequence. For example, image304 may be the current focus image in a slideshow application. The usermay be able to navigate forward or backwards within the current imagesequence (e.g., to image 306 or image 308 in image sequence 302).Navigating to another image may cause that image to become the new focusimage in the slideshow, according to some implementations. However, theuser may also be able to navigate forwards or backwards in imagesequences 318, 324, 330, as well. For example, the user may opt to beginviewing other images relating to cowboys by navigating to image 320 orimage 322.

In one implementation, which of characteristics 310 are used to generatealternative image sequences may be based on a user preference. Forexample, a user may specify an order of preference for characteristicsused to generate alternative image sequences. In one implementation,which of characteristics 310 are used to generate alterative imagesequences may be based on inferred user preferences (e.g.,characteristics not specified by a user and predicted by the system tobe of interest to the user). For example, if the user often selects toswitch to an image sequence that contains images of cowboys,characteristic 312 may be used to generate image sequence 318 over thatof other characteristics in characteristics 310. In variousimplementations, the number of alternative image sequences may becontrolled by a user preference or may be hardcoded. For example, a usermay specify that a total of four image sequences should be presented aspart of a slideshow. In another example, the slideshow may be configuredto limit the number of displayed image sequences to a maximum of four.

Referring to FIG. 4, a detailed block diagram of processing circuit 400is shown. Processing circuit 400 may be within, for example, a userelectronic device, a web server, or another electronic computing device.Processing circuit 400 includes processor 402 and memory 404. Processor402 may be, or include, one or more microprocessors, an applicationspecific integrated circuit (ASIC), a circuit containing one or moreprocessing components, a group of distributed processing components,circuitry for supporting a microprocessor, or other hardware configuredfor processing. Processor 402 is also configured to execute computercode stored in memory 404 to complete and facilitate the activitiesdescribed herein. Memory 404 can be any computer-readable medium capableof storing data or computer code relating to the activities describedherein. For example, memory 404 is shown to include sequence generator418, which may be implemented using computer code (e.g., executablecode, object code, source code, script code, machine code, etc.)configured for execution by processor 402. When executed by processor402, processing circuit 400 is configured to complete the activitiesdescribed herein.

Processing circuit may also include hardware circuitry for supportingthe execution of the computer code sequence generator 418. For example,processing circuit 400 may include hardware interfaces for communicatingwith other computing devices (e.g., another server, a client device,etc.). Processing circuit 400 may include an input 406 for receivingrequests for data from processing circuit 400 and for receiving datarequested by processing circuit 400 from other devices. Processingcircuit 400 may also include an output 408 for providing requests fordata to other electronic devices and for providing requested data toother devices. For example, processing circuit 400 may request anelectronic file and/or metadata about the file from one or more othercomputing devices (e.g., a content source, a server, etc.) via output408. In response, processing circuit 400 may receive the requested dataand store it in memory 404 in files 410 and/or metadata 412. In someimplementations, input 406 may receive input from a user interfacedevice (e.g., a keypad, a keyboard, a pointing device, a touch-activateddevice, a microphone, etc.) and output 408 may provide data to a userinterface device (e.g., an electronic display, a speaker, etc.). Forexample, processing circuit 400 may receive one or more user-specifiedpreferences via input 406 and store them in memory 404 as userpreferences 416.

Files 410 may include one or more electronic files, such as digitalimages, files that contain text, spreadsheets, movies, audio files,webpages, or the like. In some implementations, files 410 may be storedusing a directory structure of an operating system. For example, files410 may be stored in one or more hierarchical folders (e.g., images maybe stored in the directory, /home/user/pics/vacation). In someimplementations, files 410 may be grouped within an application,regardless of their directory location. For example, an album of cowboyimages may include the images/home/user/pics/vacation/Texas Cowboyjpgand /home/user/pics/rodeo/Cowboy1.gif, which are stored in differentdirectories. In some implementations, files 410 may store the locationof a file, instead of the actual file. For example, files 410 mayinclude a universal resource locator (URL) or other network address atwhich a file is located.

Files 410 may have associated metadata 412, which may be stored as partof a file in files 410 or separately in memory 404, according to variousimplementations. For example, a file in files 410 using the Exif formatmay include an image as well as metadata pertaining to the image.Metadata 412 may include one or more files associated with a file infiles 410, in addition to, or in lieu of, the file itself containingmetadata. For example, an image in files 410 in Exif format may stillhave one or more associated files in metadata 412 that includeadditional information about the image (e.g., one or more topics basedon the content of the image, comments about the image in a socialnetworking system, etc.). Metadata 412 may include, but is not limitedto, information about the contents of a file (e.g., a topic related tothe file, a person identified in an image or movie, etc.), when the filewas created, where the file was created, a title of a file, the owner ofthe file, social networking information (e.g., which user have access tothe file, which users rated the file, which users commented on the file,which users are socially connected to the owner of the file, etc.), whenthe file was uploaded to memory 404, the device that uploaded the fileto memory 404, when the file was last modified, the user that lastmodified the file, the memory location of the file, an album or othergroup of files to which the file belongs, the size of the file, or thedevice that created the file.

In some implementations, memory 404 may include user profiles 414. Userprofiles 414 may be used to control access to files 410, determinemetadata 412, and/or tailor the operation of the system to a particularuser (e.g., by associating preferences stored in user preferences 416with a user profile). In one implementation, user profiles 414 may beuser profiles for a social networking system. In such a case, a user mayassociate their profile with one or more other user profiles (e.g., theuser may specify which other users of the system are socialconnections). A file in files 410 may be associated with a user profilein user profiles 414, allowing the user to control how files 410 arepresented (e.g., which users have access to the file, whether otherusers are able to modify the file, etc.). In some cases, a user profilemay include information about the user's demographics or interests. Forexample, a user may associate their profile with an interest groupdevoted to horticulture.

In cases in which memory 404 includes user profiles 414, memory 404 mayalso include user preferences 416. User preferences 416 are used tocontrol the operation of processing circuit 400. User preferences 416may include one or more data values that cause processing circuit 400 tooperate differently, depending on the data values. In variousimplementations, user preferences 416 may include data values thatcontrol how many sequences are generated by sequence generator 418,which of user profiles 414 are able to access a file in files 410,and/or whether sequences are to be generated using user-specified filecharacteristics or automatically determined characteristics (e.g.,without input from the user). Further examples of user preferences 416include values that control whether a generated sequence contains onlyfiles of a certain type (e.g., only image files, only text files, etc.),whether sequences are to be continuous or linear, how files are to beordered in a sequence (e.g., based on relevance to a filecharacteristic, based on the order in which the files are identified,etc.), and/or whether sequence generator 418 is to even generate analternative file sequence.

Memory 404 includes sequence generator 418, which is configured togenerate one or more file sequences containing files from files 410.According to various implementations, sequence generator 418 may be partof an application that provides a slideshow to an electronic display.For example, sequence generator 418 may be part of a stand-aloneslideshow application, part of a webserver application that provides aslideshow webpage via output 408, or may be part of a remote servicethat provides file sequences to another device running a stand-aloneslideshow application.

In some implementations, sequence generator 418 may generate a firstfile sequence containing some or all of files 410. The first filesequence may be based on one or more characteristics of files 410 (e.g.,metadata 412 and other data related to files 410). In someimplementations, a characteristic used by sequence generator 418 togenerate a sequence may be specified by a user during execution of aslideshow and/or stored in user preferences 416. For example, a user mayspecify via user preferences 416 that they always want images of cats infiles 410 to appear as a first sequence in a slideshow. In otherimplementations, the first file sequence may be determined by sequencegenerator 418 without user input and based on an inferred characteristicof interest for the user. For example, if a profile in user profiles 414belongs to a social networking group devoted to funny pictures of cats,sequence generator 418 may use this information to generate a first filesequence devoted to cats. In further implementations, the files in thefirst file sequence and/or the order in which they appear may beentirely specified by a user.

In implementations in which sequence generator 418 is used to generatefile sequences for a slideshow, sequence generator 418 may identify oneor more files in the first sequence as being files of focus. In general,a file of focus in a slideshow is a file that is emphasized in theslideshow (e.g., by positioning the file in a prominent location, bydisplaying the file in a larger area of the screen than that of otherfiles, etc.). For example, an image of focus in a slideshow may bedisplayed in full size, as opposed to other images being displayed asthumbnails. In other words, at least a portion of the contents of a fileof focus may be prominently displayed in the slideshow.

Sequence generator 418 may generate any number of alternative filesequences, in addition to generating a first file sequence. In someimplementations, sequence generator 418 may generate an alternative filesequence based on one or more characteristics of a file in the firstfile sequence (e.g., the file of focus or another file). Similar to thefirst file sequence, the file characteristics used to generate analternative file sequence may be based on user preferences 416 orinferred by sequence generator 418 based on information about userprofiles 414 (e.g., a user's potential interests, a user's searchrequests, a user's social connections, etc.). For example, a first filesequence may include those of files 410 that were created on Aug. 11,2012 and have a focus file that is an image of a woman standing in frontof the Leaning Tower of Pisa. Accordingly, sequence generator 418 maygenerate alternative file sequences that contain those of files 410related to Italy, the Leaning Tower of Pisa, the woman in the image, orwere created around Aug. 11, 2012.

In some implementations, memory 404 may include content analyzer 420,which is configured to identify characteristics of files in files 410based on their contents. In some implementations, content analyzer 420may utilize image recognition to identify a person, place, or object inan image file. For example, content analyzer 420 may use facialrecognition to identify a person in an image as a characteristic of theimage. Sequence generator 418 may use content analyzer 420 to identifyother images that show the same person and generate a sequence of imagesof that person. In some implementation, content analyzer 420 may parsetext in a file of files 410 to identify a topic discussed in the file.Content analyzer 420 may use any form of text mining technique todetermine a topic of a text file (e.g., TF-IDF weighting or the like).In some implementations, content analyzer 420 may be configured to inferthe content of a file based on metadata 412 and/or other files in files410. For example, content analyzer 420 may base its determination on acomment associated with a file, a topic associated with other fileslocated in the same directory or album as the file, etc. In someimplementations, file characteristics identified by content analyzer 420may be stored in metadata 412 and associated with the file.

In one example, processing circuit 400 may be configured to serve awebpage that includes a slideshow. Processing circuit 400 may receive alogin request from a remote device via input 406 to log into a profilein user profiles 414. In response to receiving a subsequent request toview a slideshow, processing circuit 400 may generate webpage data thatcauses a slideshow to be displayed on an electronic display of therequesting device. The slideshow may include one or more of files 410that are selected and ordered in a first file sequence generated bysequence generator 418. The first file sequence may include a file offocus for the slideshow. Sequence generator 418 may use characteristicsof the file of focus to generate alternative file sequences for theslideshow. The webpage data provided to the remote device via output 408may include one or more GUI inputs to enable the user to switch betweendifferent file sequences (e.g., buttons to go forward or backward in asequence). If an alternative file sequence is selected, a file in thealternative sequence may become the file of focus. In response,processing circuit 400 may determine new alternative file sequences,based on the characteristics of the new file of focus in the slideshow.

Implementations of the subject matter and the operations described inthis specification can be implemented in digital electronic circuitry,or in computer software embodied on a tangible medium, firmware, orhardware, including the structures disclosed in this specification andtheir structural equivalents, or in combinations of one or more of them.Implementations of the subject matter described in this specificationcan be implemented as one or more computer programs, i.e., one or moremodules of computer program instructions, encoded on one or morecomputer storage medium for execution by, or to control the operationof, data processing apparatus. Alternatively or in addition, the programinstructions can be encoded on an artificially-generated propagatedsignal, e.g., a machine-generated electrical, optical, orelectromagnetic signal, that is generated to encode information fortransmission to suitable receiver apparatus for execution by a dataprocessing apparatus. A computer storage medium can be, or be includedin, a computer-readable storage device, a computer-readable storagesubstrate, a random or serial access memory array or device, or acombination of one or more of them. Moreover, while a computer storagemedium is not a propagated signal, a computer storage medium can be asource or destination of computer program instructions encoded in anartificially-generated propagated signal. The computer storage mediumcan also be, or be included in, one or more separate components or media(e.g., multiple CDs, disks, or other storage devices). Accordingly, thecomputer storage medium may be tangible and non-transitory.

The operations described in this specification can be implemented asoperations performed by a data processing apparatus on data stored onone or more computer-readable storage devices or received from othersources.

The term “client or “server” include all kinds of apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The apparatus can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application-specific integrated circuit). Theapparatus can also include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an opensocial networking system, a cross-platformruntime environment, a virtual machine, or a combination of one or moreof them. The apparatus and execution environment can realize variousdifferent computing model infrastructures, such as web services,distributed computing and grid computing infrastructures.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, declarative orprocedural languages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, object, orother unit suitable for use in a computing environment. A computerprogram may, but need not, correspond to a file in a file system. Aprogram can be stored in a portion of a file that holds other programsor data (e.g., one or more scripts stored in a markup languagedocument), in a single file dedicated to the program in question, or inmultiple coordinated files (e.g., files that store one or more modules,sub-programs, or portions of code). A computer program can be deployedto be executed on one computer or on multiple computers that are locatedat one site or distributed across multiple sites and interconnected by acommunication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform actions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing actions in accordance with instructions andone or more memory devices for storing instructions and data. Generally,a computer will also include, or be operatively coupled to receive datafrom or transfer data to, or both, one or more mass storage devices forstoring data, e.g., magnetic, magneto-optical disks, or optical disks.However, a computer need not have such devices. Moreover, a computer canbe embedded in another device, e.g., a mobile telephone, a personaldigital assistant (PDA), a mobile audio or video player, a game console,a Global Positioning System (GPS) receiver, or a portable storage device(e.g., a USB flash drive), to name just a few. Devices suitable forstoring computer program instructions and data include all forms ofnon-volatile memory, media and memory devices, including by way ofexample semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, implementations of the subjectmatter described in this specification can be implemented on a computerhaving a display device, e.g., a CRT (cathode ray tube), LCD (liquidcrystal display), OLED (organic light emitting diode), TFT (thin-filmtransistor), plasma, other flexible configuration, or any other monitorfor displaying information to the user and a keyboard, a pointingdevice, e.g., a mouse, trackball, etc., or a touch screen, touch pad,etc., by which the user can provide input to the computer. Other kindsof devices can be used to provide for interaction with a user as well;for example, feedback provided to the user can be any form of sensoryfeedback, e.g., visual feedback, auditory feedback, or tactile feedback;and input from the user can be received in any form, including acoustic,speech, or tactile input. In addition, a computer can interact with auser by sending documents to and receiving documents from a device thatis used by the user; for example, by sending websites to a web browseron a user's client device in response to requests received from the webbrowser.

Implementations of the subject matter described in this specificationcan be implemented in a computing system that includes a back-endcomponent, e.g., as a data server, or that includes a middlewarecomponent, e.g., an application server, or that includes a front-endcomponent, e.g., a client computer having a GUI or a Web browser throughwhich a user can interact with an implementation of the subject matterdescribed in this specification, or any combination of one or more suchback-end, middleware, or front-end components. The components of thesystem can be interconnected by any form or medium of digital datacommunication, e.g., a communication network. Examples of communicationnetworks include a local area network (“LAN”) and a wide area network(“WAN”), an inter-network (e.g., the Internet), and peer-to-peernetworks (e.g., ad hoc peer-to-peer networks).

The features disclosed herein may be implemented on a smart televisionmodule (or connected television module, hybrid television module, etc.),which may include a processing circuit configured to integrate internetconnectivity with more traditional television programming sources (e.g.,received via cable, satellite, over-the-air, or other signals). Thesmart television module may be physically incorporated into a televisionset or may include a separate device such as a set-top box, Blu-ray orother digital media player, game console, hotel television system, andother companion device. A smart television module may be configured toallow viewers to search and find videos, movies, photos and othercontent on the web, on a local cable TV channel, on a satellite TVchannel, or stored on a local hard drive. A set-top box (STB) or set-topunit (STU) may include an information appliance device that may containa tuner and connect to a television set and an external source ofsignal, turning the signal into content which is then displayed on thetelevision screen or other display device. A smart television module maybe configured to provide a home screen or top level screen includingicons for a plurality of different applications, such as a web browserand a plurality of streaming media services, a connected cable orsatellite media source, other web “channels”, etc. The smart televisionmodule may further be configured to provide an electronic programmingguide to the user. A companion application to the smart televisionmodule may be operable on a mobile computing device to provideadditional information about available programs to a user, to allow theuser to control the smart television module, etc. In alternateembodiments, the features may be implemented on a laptop computer orother personal computer, a smartphone, other mobile phone, handheldcomputer, a tablet PC, or other computing device.

While this specification contains many specific implementation details,these should not be construed as limitations on the scope of anyinventions or of what may be claimed, but rather as descriptions offeatures specific to particular implementations of particularinventions. Certain features that are described in this specification inthe context of separate implementations can also be implemented incombination in a single implementation. Conversely, various featuresthat are described in the context of a single implementation can also beimplemented in multiple implementations separately or in any suitablesubcombination. Moreover, although features may be described above asacting in certain combinations and even initially claimed as such, oneor more features from a claimed combination can in some cases be excisedfrom the combination, and the claimed combination may be directed to asubcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular implementations of the subject matter have beendescribed. Other implementations are within the scope of the followingclaims. In some cases, the actions recited in the claims can beperformed in a different order and still achieve desirable results. Inaddition, the processes depicted in the accompanying figures do notnecessarily require the particular order shown, or sequential order, toachieve desirable results. In certain implementations, multitasking orparallel processing may be utilized.

What is claimed is:
 1. A computerized method comprising: providing afirst file; determining at least a first characteristic and a secondcharacteristic of the first file; identifying a first ordered list offiles of a first collection of files having the first characteristicfrom a first source and a second ordered list of files of a secondcollection of files having the second characteristic from a secondsource, wherein the first collection is different from the secondcollection; displaying, on a user interface of a display screen of afirst device, representations of each of at least the first ordered listof files of the first collection and the second ordered list of files ofthe second collection; receiving a user selection of the first orderedlist of files and the second ordered list of files; in response to theuser selection, determining a third ordered list of files based on thefirst characteristic and the second characteristic wherein the thirdordered list of files includes one or more files absent from the firstordered list of files and the second ordered list of files; andproviding an indication of the third ordered list of files.
 2. Themethod of claim 1, wherein the files of the first ordered list of files,the files of the second ordered list of files, and the files of thethird ordered list of files include audio files.
 3. The method of claim1, wherein the files of the first ordered list of files, the files ofthe second ordered list of files, and the files of the third orderedlist of files include images.
 4. The method of claim 1, wherein thefirst characteristic and the second characteristic are based, at leastin part, on a determined user interest.
 5. The method of claim 4,wherein the determined user interest is based, at least in part, on filesequences previously selected by a user selecting the user selection. 6.The method of claim 1, wherein the representations of the at least afirst ordered list of files and the second ordered list of files arerespective thumbnails.
 7. The method of claim 1, wherein the firstsource is the first device and the second source is a server accessiblefrom the first device via a network.
 8. A non-transitorycomputer-readable medium storing instructions that, when executed by oneor more processors, cause the one or more processors to performoperations comprising: providing a first file; determining at least afirst characteristic and a second characteristic of the first file;identifying a first ordered list of files of a first collection of fileshaving the first characteristic from a first device and a second orderedlist of files of a second collection of files having the secondcharacteristic from a second device, wherein the first collection isdifferent from the second collection; displaying, on a user interface,representations of each of at least the first ordered list of files ofthe first collection and the second ordered list of files of the secondcollection; receiving a user selection of the first ordered list offiles and the second ordered list of files; in response to the userselection, determining a third ordered list of files based on the firstcharacteristic and the second characteristic wherein the third orderedlist of files includes one or more files not present in the firstordered list of files and the second ordered list of files; andproviding one or more files of the third ordered list of files.
 9. Thecomputer-readable medium of claim 8, wherein the files of the firstordered list of files, the files of the second ordered list of files,and the files of the third ordered list of files include audio files.10. The computer-readable medium of claim 8, wherein the files of thefirst ordered list of files, the files of the second ordered list offiles, and the files of the third ordered list of files include images.11. The computer-readable medium of claim 8, wherein the firstcharacteristic and the second characteristic are based, at least inpart, on a determined user interest.
 12. The computer-readable medium ofclaim 11, wherein the determined user interest is based, at least inpart, on file sequences previously selected by a user providing the userselection.
 13. The computer-readable medium of claim 8, wherein thefiles of the third ordered list of files are provided sequentially in anorder based on a degree of association of the files of the third orderedlist of files to the first characteristic and the second characteristic.14. The computer-readable medium of claim 8, wherein the firstcollection is from a first user and the second collection is from asecond user.
 15. A system comprising: one or more processors; and one ormore computer-readable media having instructions stored thereon that,when executed by the one or more processors, cause performance ofoperations comprising: providing a first file; determining at least afirst characteristic and a second characteristic of the first file;identifying a first ordered list of files of a first collection of fileshaving the first characteristic from a first device and a second orderedlist of files of a second collection of files having the secondcharacteristic from a second device, wherein the first collection isdifferent from the second collection; displaying, on a user interface,representations of each of at least the first ordered list of files ofthe first collection and the second ordered list of files of the secondcollection; receiving a user selection of the first ordered list offiles and the second ordered list of files; in response to the userselection, determining a third ordered list of files based on the firstcharacteristic and the second characteristic wherein the third orderedlist of files includes one or more files absent from the first orderedlist of files and the second ordered list of files; and providing anindication of the third ordered list of files.
 16. The system of claim15, wherein the files of the first ordered list of files, the files ofthe second ordered list of files, and the files of the third orderedlist of files include audio files.
 17. The system of claim 15, whereinthe files of the first ordered list of files, the files of the secondordered list of files, and the files of the third ordered list of filesinclude images.
 18. The system of claim 15, wherein the firstcharacteristic and the second characteristic are based, at least inpart, on a determined user interest.
 19. The system of claim 18, whereinthe determined user interest is based, at least in part, on filesequences previously selected by a user providing the user selection.20. The system of claim 15, wherein the first collection is from a firstuser and the second collection is from a second user.